package com.stefanini.pe.bbva.iivs.in.dao;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.log4j.Logger;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;

import com.stefanini.pe.bbva.iivs.in.dao.iface.SolicitudDAO;
import com.stefanini.pe.bbva.iivs.in.to.Solicitud;

public class SolicitudDAOImpl extends SqlMapClientDaoSupport implements SolicitudDAO {
	Logger logger = Logger.getLogger(this.getClass());
    public SolicitudDAOImpl() {
        super();
    }

    public int deleteByPrimaryKey(String codSoli) {
        Solicitud key = new Solicitud();
        key.setCodSoli(codSoli);
        int rows = getSqlMapClientTemplate().delete("IIVS_TIIVS_SOLICITUD.ibatorgenerated_deleteByPrimaryKey", key);
        return rows;
    }

    public void insert(Solicitud record) {
        getSqlMapClientTemplate().insert("IIVS_TIIVS_SOLICITUD.ibatorgenerated_insert", record);
    }

    public void insertSelective(Solicitud record) {
        getSqlMapClientTemplate().insert("IIVS_TIIVS_SOLICITUD.ibatorgenerated_insertSelective", record);
    }

    public Solicitud selectByPrimaryKey(String codSoli) {
        Solicitud key = new Solicitud();
        key.setCodSoli(codSoli);
        Solicitud record = (Solicitud) getSqlMapClientTemplate().queryForObject("IIVS_TIIVS_SOLICITUD.ibatorgenerated_selectByPrimaryKey", key);
        return record;
    }

    public int updateByPrimaryKeySelective(Solicitud record) {
        int rows = getSqlMapClientTemplate().update("IIVS_TIIVS_SOLICITUD.ibatorgenerated_updateByPrimaryKeySelective", record);
        return rows;
    }

    public int updateByPrimaryKey(Solicitud record) {
        int rows = getSqlMapClientTemplate().update("IIVS_TIIVS_SOLICITUD.ibatorgenerated_updateByPrimaryKey", record);
        return rows;
    }
    public List selectDynamicWhere(Solicitud solicitud) {
    	return getSqlMapClientTemplate().queryForList("IIVS_TIIVS_SOLICITUD.selectDynamicWhere", solicitud);        
    }
    public List selectDynamicWhereLike(Solicitud solicitud) {
    	return getSqlMapClientTemplate().queryForList("IIVS_TIIVS_SOLICITUD.selectDynamicWhereLike", solicitud);        
    }
    public String selectNextPK() {
        return (String)getSqlMapClientTemplate().queryForObject("IIVS_TIIVS_SOLICITUD.nextID");
    }

	public String selectNextSEQPK() {
        return (String)getSqlMapClientTemplate().queryForObject("IIVS_TIIVS_SOLICITUD.nextSEQID");
	}
	public String estudioMinSol() {
        return (String)getSqlMapClientTemplate().queryForObject("IIVS_TIIVS_SOLICITUD.estudioMinSol");
	}
	public String abogadoMinSolxEstudio(String value) {
        return (String)getSqlMapClientTemplate().queryForObject("IIVS_TIIVS_SOLICITUD.abogadoMinSolxEstudio",value);
	}

	public String abogadoMinSolxEstudioAfter(String horaCorte, String estudio)
	{
		System.out.println("abogadoMinSolxEstudioAfter: " + horaCorte + " " + estudio);
	 	Map map = new HashMap();        
        map.put("hora1",horaCorte);
        map.put("hora2",horaCorte);
        map.put("estudio",estudio);
		return (String)getSqlMapClientTemplate().queryForObject("IIVS_TIIVS_SOLICITUD.abogadoMinSolxEstudioAfter",map);
	}

	public String abogadoMinSolxEstudioBefore(String horaCorte, String estudio) {
		System.out.println("abogadoMinSolxEstudioBefore: " + horaCorte + " " + estudio);
		Map map = new HashMap();        
        map.put("hora1",horaCorte);
        map.put("hora2",horaCorte);
        map.put("estudio",estudio);
		return (String)getSqlMapClientTemplate().queryForObject("IIVS_TIIVS_SOLICITUD.abogadoMinSolxEstudioBefore",map);
	}

	public String estudioMinSolAfter(String horaCorte) {
		System.out.println("HORA + "+horaCorte);
		System.out.println("estudioMinSolAfter: " + horaCorte);
		return (String)getSqlMapClientTemplate().queryForObject("IIVS_TIIVS_SOLICITUD.estudioMinSolAfter",horaCorte);
	}

	public String estudioMinSolBefore(String horaCorte) {
		System.out.println("estudioMinSolBefore: " + horaCorte);
		return (String)getSqlMapClientTemplate().queryForObject("IIVS_TIIVS_SOLICITUD.estudioMinSolBefore",horaCorte);
	}
}